Usage Note 69532: SAS® Life Science Analytics Framework 5.4 - Certain numeric data filter operators return unexpected results due to floating point precision issues
When you apply filter criteria against a numeric-typed column in the SAS Life Science Analytics Framework 5.4.x data viewers for SAS and R, you might receive unexpected results. This issue occurs when the column's numeric data values contain 12 or more digits.
The floating point precision limitations and rounding discrepancies inherent with numeric data storage results in several of the available data filter operators not returning expected results when they are specified as part of data filter criteria applied against numeric typed data.
The following operators are specifically ones that are impacted by the limitations and discrepancies:
- '=' (equal)
- '<-' (less than or equal)
- '<>' (between)
- '>' (greater than)
- IN
How numeric values are stored within the SAS® 9.4 System, and how the use of floating-point representation impacts accuracy, are both well documented and offer very detailed content regarding the topics of precision and magnitude.
SAS programmers typically use programming techniques to resolve the discrepancies, specifically the use of the ROUND function.
Beginning with SAS® Life Science Analytics Framework 5.4.1, the application UI applies rounding and additional techniques in the background to compensate for the unexpected discrepancies.
Because of the changes that were introduced to ensure these expected and proper results, the IN operator has been removed as a filter selection for numeric-typed columns.
Operating System and Release Information
SAS System | SAS Life Science Analytics Framework | Linux for x64 | 5.4 | 5.4.1 | 9.4 TS1M7 | 9.4 TS1M7 |
*
For software releases that are not yet generally available, the Fixed
Release is the software release in which the problem is planned to be
fixed.
Date Modified: | 2022-11-10 12:51:59 |
Date Created: | 2022-09-08 13:36:44 |